package com.hmall.ebiz.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author Thomas Wang
 * @since 2019-02-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="DbConfig对象", description="工具类")
public class DbConfig extends Model<DbConfig> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("db_name")
    private String dbName;

    @ApiModelProperty(value = "数据库描述")
    @TableField("db_description")
    private String dbDescription;

    @ApiModelProperty(value = "数据库类型 ")
    @TableField("db_type")
    private String dbType;

    @ApiModelProperty(value = "数据库url")
    @TableField("db_url")
    private String dbUrl;

    @ApiModelProperty(value = "用户名")
    @TableField("db_username")
    private String dbUsername;

    @ApiModelProperty(value = "密码")
    @TableField("db_password")
    private String dbPassword;

    @ApiModelProperty(value = "数据库驱动")
    @TableField("db_driver_name")
    private String dbDriverName;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private Date updateTime;

    @ApiModelProperty(value = "作者")
    @TableField("author")
    private String author;

    @ApiModelProperty(value = "输出路径")
    @TableField("output_file")
    private String outputFile;

    @ApiModelProperty(value = "ActvieRecord属性  0:是 1:否")
    @TableField("actvie_record")
    private Integer actvieRecord;

    @ApiModelProperty(value = "是否使用二级缓存 0:是 1:否")
    @TableField("second_level_cache")
    private Integer secondLevelCache;

    @ApiModelProperty(value = "是否生成kotlin代码")
    @TableField("kotlin")
    private Integer kotlin;

    @ApiModelProperty(value = "是否生成表列")
    @TableField("generate_list")
    private Integer generateList;

    @ApiModelProperty(value = "是否生成ResultMap")
    @TableField("result_map")
    private Integer resultMap;

    @ApiModelProperty(value = "是否文件覆盖")
    @TableField("cover")
    private Integer cover;

    @TableField("prefix")
    private String prefix;

    @ApiModelProperty(value = "是否生成Lombok实体")
    @TableField("lomback")
    private Integer lomback;

    @ApiModelProperty(value = "是否为构建者模型")
    @TableField("builder_model")
    private Integer builderModel;

    @ApiModelProperty(value = "是否生成字段常量")
    @TableField("field_constants")
    private Integer fieldConstants;

    @ApiModelProperty(value = "父级包名")
    @TableField("parent_package_name")
    private String parentPackageName;

    @ApiModelProperty(value = "控制器包名")
    @TableField("controller_package_name")
    private String controllerPackageName;

    @ApiModelProperty(value = "实体包名")
    @TableField("entity_package_name")
    private String entityPackageName;

    @ApiModelProperty(value = "Mapper包名")
    @TableField("mapper_package_name")
    private String mapperPackageName;

    @ApiModelProperty(value = "xml包名")
    @TableField("xml_package_name")
    private String xmlPackageName;

    @ApiModelProperty(value = "userId")
    @TableField("user_id")
    private Integer userId;

    @ApiModelProperty(value = "是不是公共")
    @TableField("is_public")
    private Integer isPublic;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDbName() {
        return dbName;
    }

    public void setDbName(String dbName) {
        this.dbName = dbName;
    }

    public String getDbDescription() {
        return dbDescription;
    }

    public void setDbDescription(String dbDescription) {
        this.dbDescription = dbDescription;
    }

    public String getDbType() {
        return dbType;
    }

    public void setDbType(String dbType) {
        this.dbType = dbType;
    }

    public String getDbUrl() {
        return dbUrl;
    }

    public void setDbUrl(String dbUrl) {
        this.dbUrl = dbUrl;
    }

    public String getDbUsername() {
        return dbUsername;
    }

    public void setDbUsername(String dbUsername) {
        this.dbUsername = dbUsername;
    }

    public String getDbPassword() {
        return dbPassword;
    }

    public void setDbPassword(String dbPassword) {
        this.dbPassword = dbPassword;
    }

    public String getDbDriverName() {
        return dbDriverName;
    }

    public void setDbDriverName(String dbDriverName) {
        this.dbDriverName = dbDriverName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getOutputFile() {
        return outputFile;
    }

    public void setOutputFile(String outputFile) {
        this.outputFile = outputFile;
    }

    public Integer getActvieRecord() {
        return actvieRecord;
    }

    public void setActvieRecord(Integer actvieRecord) {
        this.actvieRecord = actvieRecord;
    }

    public Integer getSecondLevelCache() {
        return secondLevelCache;
    }

    public void setSecondLevelCache(Integer secondLevelCache) {
        this.secondLevelCache = secondLevelCache;
    }

    public Integer getKotlin() {
        return kotlin;
    }

    public void setKotlin(Integer kotlin) {
        this.kotlin = kotlin;
    }

    public Integer getGenerateList() {
        return generateList;
    }

    public void setGenerateList(Integer generateList) {
        this.generateList = generateList;
    }

    public Integer getResultMap() {
        return resultMap;
    }

    public void setResultMap(Integer resultMap) {
        this.resultMap = resultMap;
    }

    public Integer getCover() {
        return cover;
    }

    public void setCover(Integer cover) {
        this.cover = cover;
    }

    public String getPrefix() {
        return prefix;
    }

    public void setPrefix(String prefix) {
        this.prefix = prefix;
    }

    public Integer getLomback() {
        return lomback;
    }

    public void setLomback(Integer lomback) {
        this.lomback = lomback;
    }

    public Integer getBuilderModel() {
        return builderModel;
    }

    public void setBuilderModel(Integer builderModel) {
        this.builderModel = builderModel;
    }

    public Integer getFieldConstants() {
        return fieldConstants;
    }

    public void setFieldConstants(Integer fieldConstants) {
        this.fieldConstants = fieldConstants;
    }

    public String getParentPackageName() {
        return parentPackageName;
    }

    public void setParentPackageName(String parentPackageName) {
        this.parentPackageName = parentPackageName;
    }

    public String getControllerPackageName() {
        return controllerPackageName;
    }

    public void setControllerPackageName(String controllerPackageName) {
        this.controllerPackageName = controllerPackageName;
    }

    public String getEntityPackageName() {
        return entityPackageName;
    }

    public void setEntityPackageName(String entityPackageName) {
        this.entityPackageName = entityPackageName;
    }

    public String getMapperPackageName() {
        return mapperPackageName;
    }

    public void setMapperPackageName(String mapperPackageName) {
        this.mapperPackageName = mapperPackageName;
    }

    public String getXmlPackageName() {
        return xmlPackageName;
    }

    public void setXmlPackageName(String xmlPackageName) {
        this.xmlPackageName = xmlPackageName;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public Integer getIsPublic() {
        return isPublic;
    }

    public void setIsPublic(Integer isPublic) {
        this.isPublic = isPublic;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
